热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

操作员|来回_模糊控制器基于simulink的模糊控制器设计

篇首语:本文由编程笔记#小编为大家整理,主要介绍了模糊控制器基于simulink的模糊控制器设计相关的知识,希望对你有一定的参考价值。 1.软件版本 matlab2013b 2.本算法理论知识  

篇首语:本文由编程笔记#小编为大家整理,主要介绍了模糊控制器基于simulink的模糊控制器设计相关的知识,希望对你有一定的参考价值。



1.软件版本

matlab2013b


2.本算法理论知识

 

    这里按模糊控制器的基本工作原来进行距离说明,这里假设这个系统是一个温度控制系统。

第一:模糊化过程

表1 模糊集的隶属度函数


误差e

-50

-30

-15

-5

0

5

15

30

50

误差率de

-150

-90

-30

-10

0

10

30

90

150

控制u

-64

-16

-4

-2

0

2

4

16

64

量化等级

-4

-3

-2

-1

0

1

2

3

4

状态变量

相关的隶属度函数

PB

0

0

0

0

0

0

0

0.35

1

PS

0

0

0

0

0

0.4

1

0.4

0

ZE

0

0

0

0.2

1

0.2

0

0

0

NS

0

0.4

1

0.4

0

0

0

0

0

NB

1

0.35

0

0

0

0

0

0

0

模糊规则:

模糊控制规则实质上是将操作员的控制经验加以总结而得出一条条模糊条件语句的集合。确定模糊控制规则的原则是必须保证控制器的输出能够使系统输出响应的动静态特性达到最佳。

这里举的例子,所满足的规则为:

规则1:如果误差e是NB、且误差变化de是PB,则控制U为PB;

规则2:如果误差e是NB、且误差变化de是PS,则控制U为PB;

规则3:如果误差e是NB、且误差变化de是ZE;则控制U为PB;

规则4:如果误差e是NB、且误差变化de是NS,则控制U为PB;

规则5:如果误差e是NS、且误差变化de是ZE,则控制U为PS;

规则6:如果误差e是NS、且误差变化de是PS,则控制U为ZE;

规则7:如果误差e是NS、且误差变化de是PB,则控制U为NS;

规则8:如果误差e是ZE、且误差变化de是ZE,则控制U为ZE;

规则9: 如果误差e是ZE、且误差变化de是PS,则控制U为NS;

规则10:如果误差e是ZE、且误差变化de是PB,则控制U为NB。

规则 11:如果误差e是 NS、且误差变化 de是 NS,则控制 U为 PS;

规则 12:如果误差e是 NS、且误差变化 de是 NB,则控制 U为 PB;

规则 13:如果误差e是 ZE、且误差变化 de是 NS,则控制 U为 PS;

规则 14:如果误差e是 ZE、且误差变化 de是 NB,则控制 U为 PB。

从而得到模糊规则表为:


U

NB

NS

ZE

PS

PB

NB

PB

PB

PB

PS

NB

NS

PB

PS

PS

ZE

NB

ZE

PB

PS

ZE

NS

NB

PS

PB

ZE

NS

NS

NB

PB

PB

NS

NB

NB

NB

第二:模糊推理过程

设系统误差e的量化值为l、误差变化de的量化值为-2 。

可得非零的隶属度函数为:

误差e      :μZE(1)= 0.2      μps(1)= 0.4;

误差变化de :    μNS(-2)= 1

只有以下两条规则有效

如果误差e是ZE、且误差变化de是NS,则控制U为PS;

如果误差e是PS、且误差变化de是NS,则控制U为ZE;

第三:清晰化过程

由极大极小推理法可得控制量的输出模糊集为

μps(1,-2)=min(0.2,1)= 0.2

μZE(1,-2)=min(0.4,1)= 0.4

以上就是模糊控制系统的工作过程。


3.部分源码

这里,根据课题中的对输入和输出的要求,均为定义NB,NS,Z,PS,PB,这里我们将使用的隶属函数为trimf类型的函数。 隶属函数如下所示:

即这里选择的是NB,NS,Z,PS,PB这五个类型的隶属函数。

    这里规则表为:


NB

NS

Z

PS

PB

NB

NB

NB

NB

NS

Z

NS

NB

NB

NS

Z

PS

Z

NB

NS

Z

PS

PB

PS

NS

Z

PS

PB

PB

PB

Z

PS

PB

PB

PB

根据倒立摆的基本结构:

 

在实际中工作中,角度1会来回抖动进行调整,角度2则相对稳定在一个位置。从而达到平衡。

    我们建立如下的模型:


4.仿真结论

通过仿真可以看到,其模糊控制的误差和误差变化率为:

角度1和角度2的仿真如下所示:

隶属函数如下所示:

Surface如下所示:

仿真结果如下所示:

通过仿真,最后可以看到本系统最后的误差为-0.33,误差的变化率为0。

通过仿真,可以得到对比控制器的输出结果如下所示:

从上面的仿真结果可知,通过模糊控制器之后的信号的收敛速度快,且几乎没有超调量。

A28-04




推荐阅读
  • 深入理解Redis中的字典实现
    本文详细介绍了Redis中字典的实现机制,包括其底层数据结构、哈希表与哈希节点的关系、元素添加方法及rehash操作的具体流程。 ... [详细]
  • 如何在不同数据库中提取前N%的记录
    本文详细介绍了如何在SQL Server、Oracle和MySQL等不同数据库中提取前N%的记录。通过具体的示例和代码,帮助读者理解和掌握这些方法。 ... [详细]
  • Nacos 0.3 数据持久化详解与实践
    本文详细介绍了如何将 Nacos 0.3 的数据持久化到 MySQL 数据库,并提供了具体的步骤和注意事项。 ... [详细]
  • 本文详细介绍如何使用Netzob工具逆向未知通信协议,涵盖从基本安装到高级模糊测试的全过程。通过实例演示,帮助读者掌握Netzob的核心功能。 ... [详细]
  • PHP 5.5.31 和 PHP 5.6.17 安全更新发布
    PHP 5.5.31 和 PHP 5.6.17 已正式发布,主要包含多个安全修复。强烈建议所有用户尽快升级至最新版本以确保系统安全。 ... [详细]
  • 本文介绍了多种开源数据库及其核心数据结构和算法,包括MySQL的B+树、MVCC和WAL,MongoDB的tokuDB和cola,boltDB的追加仅树和mmap,levelDB的LSM树,以及内存缓存中的一致性哈希。 ... [详细]
  • 单片机编程为何偏爱C语言
    尽管现代有许多高级编程语言如Java、Python等,但单片机编程依然广泛使用C语言。本文将探讨C语言在单片机编程中的优势及其原因。 ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • 本文总结了《编程珠玑》第12章关于采样问题的算法描述与改进,并提供了详细的编程实践记录。参考了其他博主的总结,链接为:http://blog.csdn.net/neicole/article/details/8518602。 ... [详细]
  • 如何修改360极速浏览器的默认安装路径
    本文介绍了一种有效的方法,帮助用户在新版360极速浏览器中成功更改默认安装路径,解决因权限问题导致的安装失败。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 高端存储技术演进与趋势
    本文探讨了高端存储技术的发展趋势,包括松耦合架构、虚拟化、高性能、高安全性和智能化等方面。同时,分析了全闪存阵列和中端存储集群对高端存储市场的冲击,以及高端存储在不同应用场景中的发展趋势。 ... [详细]
  • 本文介绍了Memcached分布式集群中的取模算法和一致性哈希算法的原理及其对缓存命中率的影响。通过详细分析,探讨了如何优化这些算法以提高系统的稳定性和性能。 ... [详细]
  • A*算法在AI路径规划中的应用
    路径规划算法用于在地图上找到从起点到终点的最佳路径,特别是在存在障碍物的情况下。A*算法是一种高效且广泛使用的路径规划算法,适用于静态和动态环境。 ... [详细]
  • 在将Web服务器和MySQL服务器分离的情况下,是否需要在Web服务器上安装MySQL?如果安装了MySQL,如何解决PHP连接MySQL服务器时出现的连接失败问题? ... [详细]
author-avatar
文艺范老大叔
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有